package com.cmc.cloud.cmclink.doc.convert;

import java.util.*;

import com.cmc.cloud.cmclink.doc.api.document.rep.BlnoLocalChargeDetailBaseDto;
import com.cmc.cloud.cmclink.doc.entity.BlnoLocalChargeDetailDO;
import com.cmc.cloud.cmclink.doc.vo.blnochargevo.BlnoLocalChargeDetailCreateReqVO;
import com.cmc.cloud.cmclink.doc.vo.blnochargevo.BlnoLocalChargeDetailRespVO;
import com.cmc.cloud.cmclink.doc.vo.blnochargevo.BlnoLocalChargeDetailUpdateReqVO;
import com.cmc.cloud.cmclink.doc.vo.blnolocalchargevo.BlnoLocalChargeDetailCntrRespVO;import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * Local Charge费用详情 Convert
 *
 * @author 集运管理员
 */
@Mapper
public interface BlnoLocalChargeDetailConvert {
    /**
     * 获取转换接口的实例
     */
    BlnoLocalChargeDetailConvert INSTANCE = Mappers.getMapper(BlnoLocalChargeDetailConvert.class);

    /**
     * 将创建请求VO转换为DO
     *
     * @param bean 创建请求VO
     * @return DO
     */
    BlnoLocalChargeDetailDO convert(BlnoLocalChargeDetailCreateReqVO bean);

    /**
     * 将更新请求VO转换为DO
     *
     * @param bean 更新请求VO
     * @return DO
     */
    BlnoLocalChargeDetailDO convert(BlnoLocalChargeDetailUpdateReqVO bean);

    /**
     * 将DO转换为查询响应VO
     *
     * @param bean DO
     * @return VO
     */
    BlnoLocalChargeDetailRespVO convert(BlnoLocalChargeDetailDO bean);

    /**
     * 将DO列表转换为查询响应VO列表
     *
     * @param list DO列表
     * @return VO List
     */
    List<BlnoLocalChargeDetailRespVO> convertList(List<BlnoLocalChargeDetailDO> list);

    /**
     * 将DO列表转换为查询响应VO列表
     *
     * @param list DO列表
     * @return VO List
     */
    List<BlnoLocalChargeDetailCntrRespVO> convertDetailCntrRespList(List<BlnoLocalChargeDetailDO> list);

    /**
     * 属性转换
     *
     * @param blnoLocalChargeDetailDoList
     * @return
     */
    List<BlnoLocalChargeDetailBaseDto> convertBlnoLocalChargeDetailBaseDto(List<BlnoLocalChargeDetailDO> blnoLocalChargeDetailDoList);

}
